%!TEX program = xelatex
\documentclass[lang=cn,11pt,a4paper,citestyle =authoryear]{elegantpaper}

% 标题
\title{数值分析Week2 编程作业实验报告}
\author{强基数学2001 \\ 关博仁}
\date{\zhtoday}


% 本文档命令
\usepackage{array,url}
\newcommand{\ccr}[1]{\makecell{{\color{#1}\rule{1cm}{1cm}}}}
\newcommand{\code}[1]{\lstinline{#1}}


% 文档区
\begin{document}

% 标题
\maketitle

%摘要
\begin{abstract}
本文为浙江大学2022-2023秋冬学期王何宇老师的《数值分析》课程作业，
内容为《数值分析 张庆海》第二章编程作业，理论作业及习题代码将会上传到仓库\href{https://gitee.com/wellsguan/na2022.git}{na2002}。
\end{abstract}

%Ubuntu发行版本介绍
\section{实验思路}
本次实验作业的核心在于创建自己的插值多项式类，实现思路（要包含的东西）如下：
\begin{itemize}
    \item Newton插值公式类与标准化方法
    \item 多项式类
\end{itemize}
对于Newton插值公式，重点在于差商表的实现，其只需要维护一个\code{vector<double>}就可以实现，代码详见仓库\href{https://gitee.com/wellsguan/na2022.git}{na2002}。\par
此外，在这次实验中，我们涉及到了绘图，我们使用\code{python}脚本中的\code{matplotlib}实现，我们提供了一个\code{ploy\t.py}脚本，它可以将如下格式的数据进行绘图：
\begin{lstlisting}
10 -5 5
[1,2,3,4,5,6,7,8,9,10]
...
\end{lstlisting}
第一行分别是数据规模、自变量区间左端点、自变量区间右端点，下面几行是对于不同函数对于等距分割点的函数值序列，不需要给出所需绘制函数图像的个数。

\section{实验数据}
    \subsection{等距点的Runge现象}
    本题目需要绘制对于不同分割数的对于函数
    \[f(x) = \dfrac{1}{1+x^2}\]
    的插值多项式，并观测它的Runge现象\par \newpage 对于不同的$n$得到下面的插值多项式：
    \vspace{1em}
    \[\begin{aligned}
    p_2(f;x) =&\ 0.0384615\pi_{0}(x)+0.192308\pi_{1}(x)-0.0384615\pi_{2}(x) \\
    p_4(f;x) =&\ 0.0384615\pi_{0}(x)+0.0397878\pi_{1}(x)+0.061008\pi_{2}(x)-0.0265252\pi_{3}(x)\\ &+0.00530504\pi_{4}(x) \\
    p_6(f;x) =&\ 0.0384615\pi_{0}(x)+0.0264644\pi_{1}(x)+0.0248454\pi_{2}(x)+0.0149446\pi_{3}(x)\\ &-0.0131699\pi_{4}(x)+0.00420316\pi_{5}(x)-0.000840633\pi_{6}(x) \\
    p_8(f;x) =&\ 
    0.0384615\pi_{0}(x)+0.0223428\pi_{1}(x)+0.013956\pi_{2}(x)+0.0117043\pi_{3}(x)\\&+0.000674338\pi_{4}(x)-0.00489646\pi_{5}(x)+0.00243964\pi_{6}(x)-0.000687223\pi_{7}(x)\\ &+0.000137445\pi_{8}(x) \\
    \end{aligned}\]
    \vspace{1em}
    取得下面的图像
    \begin{figure}[htbp]
        \centering
        \includegraphics[width = 0.8\textwidth]{../png/plot_B.png}
    \end{figure}\\
    说明对于所给函数$f(x)$的等距点插值的Runge现象还是相对显著的。
    
    \subsection{由Chebyshev多项式诱导的插值的Runge现象}
    对于$n=5$的插值多项式:
    \vspace{1em}
    \[
    p_4(T_5;x) = 0.0423501\pi_{0}(x)+0.169057\pi_{1}(x)+1.42548\pi_{2}(x)-2.61208\pi_{3}(x)+2.7465\pi_{4}(x)
    \]\par
    \vspace{1em}
        由于其他插值多项式次数太高，无法在这里展示计算结果，但是仍有下面的图像\newpage
    \begin{figure}[htbp]
        \centering
        \includegraphics[width = 0.8\textwidth]{../png/plot_C.png}
    \end{figure}
    图像说明这种方式诱导的插值方法的Runge现象相对缓和。
    
    \subsection{对于车辆行驶的插值并估计是否超速的应用}
    根据题干中数据可以得到插值多项式
    \[\begin{aligned}p(x) = & \ 0+75x+7.16191x^2-10.0953x^3+5.50812x^4-1.5383x^5+0.243041x^6-0.0218757x^7\\ &+0.00104059x^8-2.02236\times 10^{-5} x^9\end{aligned}\]
    我们用它拟合汽车的位移-时间模型，在第二问中，我们将区间十等份，观测每个分割点处汽车的速度估计，得到如下结果
    \begin{lstlisting}
    The answer for A):
    The position and speed at 10s are 742.503(feet) and 48.3817(f/s).
    The answer for B):
    The speed at time 6.5 is 81.4597, which exceeds 81 f/s.
    The speed at time 11.7 is 97.2395, which exceeds 81 f/s.
    \end{lstlisting}
    即在十秒时汽车的距离为$742.503\ feet$，速度为$48.3817\ f/s$，并且估计有超速行为。
    
    \subsection{对植物生长的插值估计及基于插值的生长结果预测}
    根据题目中数据，得到如下Newton插值多项式：
    \[\begin{aligned}
    p_{sp1}(x) =&\ 6.67\pi_{0}(x)+1.77167\pi_{1}(x)+0.457833\pi_{2}(x)-0.124778\pi_{3}(x) \\ &+0.013566\pi_{4}(x)-0.000978085\pi_{5}(x)+4.1477\times 10^{-5}\pi_{6}(x) \\ 
    p_{sp2}(x) =&\ 6.67\pi_{0}(x)+1.57167\pi_{1}(x)-0.0871667\pi_{2}(x)-0.0152729\pi_{3}(x)\\ &+0.00257908\pi_{4}(x)-0.000204804\pi_{5}(x)+8.6768\times 10^{-6}\pi_{6}(x)
    \end{aligned}
    \]
    并且得到它们的图像（蓝色为样本1，橙色为样本2），45天尺度：\\
    \begin{figure}[htbp]
        \centering
        \includegraphics[width = 0.6\textwidth]{../png/plot_E_B.png}
    \end{figure}\\
    30天尺度：
    \begin{figure}[htbp]
        \centering
        \includegraphics[width = 0.6\textwidth]{../png/plot_E_A.png}
    \end{figure}
    通过插值方法，显然我们认为两个样本15天之后存活，预测结果：
    \begin{lstlisting}
    The average weight of sample 1 in the 43th days is 14640.3.
    The average weight of sample 2 in the 43th days is 2981.48.
    \end{lstlisting}
    即它们的均重估计分别为
    \[\begin{aligned}
    p_{sp1}(43) = 14640.3 \quad p_{sp2} = 2981.48 
    \end{aligned}
    \]
    事实上，这个突变是让人难以信服的，因为对于较大的时间，它会导致高次项对结果的影响巨大；直觉上来说，样本的成长不应当有这样的突变，所以我们认为用插值来预测叶片生长情况对于更远的时间尺度不合适。
    
\section{小结}
    在本次实验中，我们自创了两种多项式类，并通过类函数将其联系；结合\code{python}脚本的绘图使得实验效率显著增高，事实上，我们也没有找到C++的内含库用以高效绘图，但是事实上多语言便很好的解决了这个问题。\par

\end{document}
